package com.jtmg.glorykingsnews.api;

import com.github.pagehelper.PageInfo;
import com.jtmg.glorykingsnews.domain.TbBooth;
import com.jtmg.glorykingsnews.domain.TbOrder;
import com.jtmg.glorykingsnews.service.TbOrderService;
import com.jtmg.glorykingsnews.vo.booth.QueryBoothVo;
import com.jtmg.glorykingsnews.vo.commom.LayuiReturnVo;
import com.jtmg.glorykingsnews.vo.commom.MsgVo;
import com.jtmg.glorykingsnews.vo.order.OrderResaultVo;
import com.jtmg.glorykingsnews.vo.order.QueryOrderVo;
import com.jtmg.glorykingsnews.vo.order.UpdateOrderVo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

@RestController
@RequestMapping("/order/api/")
public class OrderApi {

    @Resource
    private TbOrderService tbOrderService;

    //生成订单（用户）
    //摊位id（选择摊位时获取），商品类型id（选择商品类型时获取），用户id，租期（点选1，3,6,12个月），单价（选择摊位时获取），剩下的字段不作为参数，设为默认就可以。
    @RequestMapping("createOrder")
    public MsgVo createOrder(TbOrder order){
        return tbOrderService.createOrder(order);
    }

    //根据用户id查询订单（用户）
    @RequestMapping("queryOrderByUserId")
    public MsgVo<TbOrder> queryOrderByUserId(String id){
        return tbOrderService.queryOrderByUserId(id);
    }

    //根据订单号，用户名 或 商品类型 或 订单状态 或 租期 查询订单（管理员）， 默认根据管理员id查询商市id，然后根据商市id查询订单。
    @RequestMapping("queryOrders")
    LayuiReturnVo<OrderResaultVo> managerQueryOrder(QueryOrderVo vo){
        return tbOrderService.managerQueryOrder(vo);
    }

    //修改订单（用户 / 管理员）    修改（前提是未支付的订单）： 商品类型(修改商品类型时根据选择商品的那个接口获取的商品类型id），租期
    @RequestMapping("updateOrder")
    public MsgVo updateOrder(UpdateOrderVo updateOrderVo){
        return tbOrderService.updateOrder(updateOrderVo);
    }
    @RequestMapping("deleteOrder")
    //删除订单（用户 / 管理员）
    public MsgVo deleteOrder(String orderId){
        return tbOrderService.deleteOrder(orderId);
    }

    //续租，  在原订单上操作，  具体咋弄呢？   先把简单的功能整完再说哈哈哈

}
